<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>pinpoint-python demo</title>
</head>

<form>

<h3>Simple server</h3>

<form method="get" action="app.py">
    <table border="1">
        <tr>
            <th>Description</th>
            <th>Link</th>
        </tr>
        <!--
                <tr>
                    <th>
                        Call built-in function.
                    </th>
                    <th>
                        <a href="/test_builtin_func/-3">click me</a>
                    </th>
                </tr>

                <tr>
                    <th>
                        Call Package function.
                    </th>
                    <th>
                        <a href="/test_package_func">click me</a>
                    </th>
                </tr>
                -->
        <tr>
            <th>
                Call user-defined function.
            </th>
            <th>
                <a href="/test_user_func1">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call user-defined function.
            </th>
            <th>
                <a href="/test_user_func2">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call user-defined function in a package.
            </th>
            <th>
                <a href="/test_user_func3">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call user-defined function in a package.
            </th>
            <th>
                <a href="/test_user_func4">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call inherit function
            </th>
            <th>
                <a href="/test_inherit_func">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call Higher-order
            </th>
            <th>
                <a href="/test_higher_order">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call generator
            </th>
            <th>
                <a href="/test_generatior">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call returned function.
            </th>
            <th>
                <a href="/test_return_func">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call lambda function.
            </th>
            <th>
                <a href="/test_lambda">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call decorator function.
            </th>
            <th>
                <a href="/test_decorator">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call Partial function.
            </th>
            <th>
                <a href="/test_partial">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call band function to class.
            </th>
            <th>
                <a href="/test_band">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call function in MixIn.
            </th>
            <th>
                <a href="/test_mixin">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call special function.
            </th>
            <th>
                <a href="/test_special">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call private function.
            </th>
            <th>
                <a href="/test_private">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call abstract function
            </th>
            <th>
                <a href="/test_abstract">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call Recursion
            </th>
            <th>
                <a href="/test_recursion">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call Staticmethod function
            </th>
            <th>
                <a href="/test_staticmethod">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call Classmethod function
            </th>
            <th>
                <a href="/test_classmethod">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call function with args
            </th>
            <th>
                <a href="/test_arguments">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Call function return datas
            </th>
            <th>
                <a href="/test_returns">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Test Mysql
            </th>
            <th>
                <a href="/test_mysql">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Test Redis
            </th>
            <th>
                <a href="/test_redis">click me</a>
            </th>
        </tr>

        <tr>
            <th>
                Test Uri Templated
            </th>
            <th>
                <a href="/test_ut/nobody">click me</a>
            </th>
        </tr>

    </table>
</form>

    <h3>Error and exception</h3>

    <form method="get" action="app.py">
        <table border="2">
            <tr>
                <th>Link</th>
                <th>Description</th>
            </tr>

            <tr>
                <th>
                    Test exception.
                </th>

                <th>
                    <a href="/test_exception">click me</a>
                </th>
            </tr>

            <tr>
                <th>
                    Call uncaught exception
                </th>

                <th>
                    <a href="/test_uncaught_exception">click me</a>
                </th>
            </tr>

            <tr>
                <th>
                    Call caught exception
                </th>

                <th>
                    <a href="/test_caught_exception">click me</a>
                </th>
            </tr>

            <tr>
                <th>
                    Call exception in recursion
                </th>

                <th>
                    <a href="/test_exception_in_recursion">click me</a>
                </th>
            </tr>
        </table>
    </form>

    <h3>Call Remote</h3>
    <form method="get" action="/call_remote">
        remote url: <input type="text"  name="remote" value="http://backend"/>
        <button type="submit">Call Remote</button>
    </form>

</body>

</html>
